package Thread;

import java.util.concurrent.Semaphore;
//信号量Semaphore
public class Demo27 {
    public static void main(String[] args) throws InterruptedException {
        //构造方法中，可以指定计数器的初始值
        Semaphore semaphore = new Semaphore(4);
        semaphore.acquire();//请求资源，计数器-1，P操作
        System.out.println("执行P操作");
        semaphore.acquire();//请求资源，计数器-1，P操作
        System.out.println("执行P操作");
        semaphore.acquire();//请求资源，计数器-1，P操作
        System.out.println("执行P操作");
        semaphore.acquire();//请求资源，计数器-1，P操作
        System.out.println("执行P操作");
        semaphore.acquire();//请求资源，计数器-1，P操作
        System.out.println("执行P操作");
    }
}
